package com.platform.common.core.domain.export;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.common.core.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * @Author mymac
 * @Date 2024/7/11 5:20 PM
 * @Version 1.0
 */
@Data
public class DepartGncCheckQueryListExportDTO {

    @Excel(name = "运单号")
    private String billId;

    @Excel(name = "收费类别")
    private String categoryName;

    @Excel(name = "收费项")
    private String checkItem;

    @Excel(name = "结算用户")
    private String payeeName;

    @Excel(name = "航空公司")
    private String carrier;

    @Excel(name = "航班号")
    private String fno;

    @Excel(name = "目的站")
    private String destName;

    @Excel(name = "货物名称")
    private String goods;

    @Excel(name = "货物类别")
    private String cargoTypeName;

    @Excel(name = "发货人")
    private String shipper;

    @Excel(name = "件数")
    private Long pc;

    @Excel(name = "重量")
    private BigDecimal weight;

    @Excel(name = "费率")
    private BigDecimal rate;

    @Excel(name = "金额")
    private BigDecimal amount;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "账单日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkTime;

    @Excel(name = "账单状态",readConverterExp = "UNPAID=未支付,PAID=已支付,PAYMENT_IN_PROGRESS=支付中,REFUND_IN_PROGRESS=退款中,FULLY_REFUNDED=已全部退款,PARTIAL_REFUND=部分退款,")
    private String checkStatus;

    @Excel(name = "结算方式", readConverterExp = "NOW_PAID=现结,DAY_PAID=日结,MONTH_PAID=月结")
    private String settleWay;

    @Excel(name = "支付方式",readConverterExp = "CASH=现金,POS_PAY=POS机支付,AGGREGATED_PAY=聚合支付,WECHAT_PAY=微信支付,ALIPAY_PAY=支付宝支付,TRANSFER=转账")
    private String payWay;

    @Excel(name = "结算总价")
    private BigDecimal actualAmount;

    @Excel(name = "结算日期", readConverterExp = "账=单付款/收款完成时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date settleTime;

    @Excel(name = "开票种类",readConverterExp = "FIXED_INVOICE=定额发票,PLAIN_INVOICES=普通发票,VAT_INVOICE=增值税专用发票,PLAIN_INVOICES_ELE=电子发票（普通发票）,VAT_INVOICE_ELE=电子发票（增值税专用发票）")
    private String invoiceCategory;

    @Excel(name = "开票名称")
    private String invoiceName;

    @Excel(name = "开票状态",readConverterExp = "NOT_INVOICED=未开票,INVOICING=开票中,INVOICED=开票完成,INVOICED_FAIL=开票失败,INVOICE_RED_DURING=冲红中,INVOICE_RED_SUCCESS=冲红成功,INVOICE_RED_FAIL=冲红失败")
    private String invoiceStatus;
}
